package com.ruoyi.article.mapper;


import com.ruoyi.article.domain.Classify;
import com.ruoyi.system.api.domain.SysDept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


@Mapper
public interface ClassifyMapper {

    /**
     * 更改classify表文章数量
     * @param map
     */
    public  void updateClassifyNumber(Map<String, Object> map);

    /**
     * 查询classify列表
     * @param classify
     * @return
     */
    public   List<Classify> selectClassifyList(Classify classify);

    /**
     * 判断分类的唯一性
     * @param name
     * @return
     */
   public Classify checkClassifyUnique(String name);

    /**
     * 插入分类
     * @param classify
     * @return
     */
    public  int insertClassify(Classify classify);


    /**
     * 依据ID查询
     * @param classifyId
     * @return
     */
  public   Classify selectClassifyById(Long classifyId);

    /**
     * 依据ID删除
     * @param classifyId
     * @return
     */
    public int deleteClassifyById(Long classifyId);

    /**
     * 依据Ids删除
     * @param classifyIds
     * @return
     */
    public int deleteClassifyByIds(Long[] classifyIds);

    /**
     * 更新classify列表
     * @param classify
     * @return
     */
    public int updateClassify(Classify classify);
    /**
     * 修改所在分类正常状态
     *
     * @param classifyIds 分类ID组
     */
    public void updateClassifyStatusNormal(Long[] classifyIds);
    /**
     * 修改子元素关系
     *
     * @param classifys 子元素
     * @return 结果
     */
    public int updateClassifyChildren(@Param("classifys") List<Classify> classifyIds);


    public List<Classify> selectChildrenClassifyById(Long classifyId);

    /**
     * 根据ID查询所有子部门
     * @param classifyId
     * @return
     */
  public   int selectNormalChildrenClassifyById(Long classifyId);

    /**
     * 是否存在文章
     * @param name
     * @return
     */
   public int checkClassifyExistRecord(String name);

    /**
     * 是否存在子节点
     * @param classifyId
     * @return
     */
    public  int hasChildByClassifyId(Long classifyId);
}
